home *** CD-ROM | disk | FTP | other *** search
- /*//////////////////////////////////////////////////////////////////////
- filename: simple.js
- copyright(c): 2003 Tiny Software Inc (http://www.tinysoftware.com)
- author: Martin Navratil
- product: Tiny Personal Firewall 5.x
- description: simple mode handlers and functions
- ///////////////////////////////////////////////////////////////////////*/
-
- var AR_PREVENT = 0,
- AR_ALLOW = 1,
- AR_ASKUSER = 2,
- AL_IGNORE = 0,
- AL_MONITOR = 1,
- AL_ALERT = 2;
-
-
- var PROP_CLPORT_OPEN = 0,
- PROP_CLPORT_CLOSE_NOICS = 1,
- PROP_CLPORT_CLOSE_ICS = 2;
-
- function valueOfRadio(r, n)
- {
- for (i = 0; i < n; i++) if (r[i].checked==true)
- return parseInt(r[i].value);
- return 0;
- }
-
- function setRadio(value, r, n)
- {
- for (i = 0; i < n; i++)
- r[i].checked = (i == value);
- }
-
- function SetInitValues()
- {
- var chkIcs = document.all['CHK_ICS'], chkClPort = document.all['CHK_CLPORT'], chkClpal = document.all['CHK_CLPORTAL'],
- radNetbios = document.all['RAD_NETBIOS'], chkSpawn = document.all['CHK_SPAWN'],
- chkUnkAppStart = document.all['CHK_UNKAPPSTART'];
-
- var propClPort, propClPortAL, propUnkAppStart, fwRuleList, sbxRuleList;
- try
- {
- propClPort = propListFW.Get("PreventClosedPortAccess");
- }
- catch (e)
- {
- alert("Could not get PreventClosedPortAccess option");
- return TXT_ERROR;
- }
- try
- {
- propClPortAL = propListFW.Get("ClosedPortAccessAL");
- }
- catch (e)
- {
- alert("Could not get ClosedPortAccessAL option");
- return TXT_ERROR;
- }
- try
- {
- propUnkAppStart = propListSBX.Get("UnkAppStartDlg");
- }
- catch (e)
- {
- alert("Could not get UnkAppStartDlg option");
- return TXT_ERROR;
- }
- try
- {
- var fwParser = window.external.ServerParser(2)
- fwRuleList = fwParser.RuleList;
- }
- catch (e)
- {
- alert("Could not get Firewall rule list");
- return TXT_ERROR;
- }
- try
- {
- var sbxParser = window.external.ServerParser(1)
- sbxRuleList = sbxParser.RuleList;
- }
- catch (e)
- {
- alert("Could not get Sandbox rule list");
- return TXT_ERROR;
- }
-
- chkClPort.checked = (propClPort.value != PROP_CLPORT_OPEN);
- chkIcs.checked = (propClPort.value == PROP_CLPORT_CLOSE_ICS);
- chkIcs.disabled = propClPort.value == PROP_CLPORT_OPEN;
- chkClpal.checked = propClPortAL.value;
- chkUnkAppStart.checked = propUnkAppStart.value;
-
- var arNetbios = window.external.RuleAccess("netbios");
- switch (arNetbios)
- {
- case AR_ALLOW:
- setRadio(0, radNetbios, 2);
- break;
- case AR_PREVENT:
- setRadio(1, radNetbios, 2);
- break;
- default:
- alert("Unknown access result of Netbios");
- break;
- }
- document.all['CHK_RUNKEYS'].checked = (window.external.RuleAccess("runkeys") == AR_ASKUSER) ? 1 : 0;
- document.all['CHK_IEKEYS'].checked = (window.external.RuleAccess("iekeys") == AR_ASKUSER) ? 1 : 0;
- document.all['CHK_INSTALLSVC'].checked = (window.external.RuleAccess("installsvc") == AR_ASKUSER) ? 1 : 0;
- document.all['CHK_SPAWN'].checked = (window.external.RuleAccess("spawn") == AR_ASKUSER) ? 1 : 0;
- document.all['CHK_VBARUNINORIG'].checked = (window.external.RuleAccess("vba") == AR_PREVENT) ? 1 : 0;
-
- }
-
- function OnClosedPortChange()
- {
- var propClPort;
- try
- {
- propClPort = propListFW.Get("PreventClosedPortAccess");
- }
- catch (e)
- {
- alert("Could not get PreventClosedPortAccess option");
- return TXT_ERROR;
- }
- var chkIcs = document.all['CHK_ICS'], chkClPort = document.all['CHK_CLPORT'];
- var bNewVal = chkClPort.checked;
- var bValIcs = chkIcs.checked;
- if (bNewVal)
- {
- chkClPort.checked = true;
- chkIcs.disabled = false;
- window.external.RuleAccess("icmp") = AR_PREVENT;
- if (bValIcs)
- {
- propClPort.value = PROP_CLPORT_CLOSE_ICS;
- chkIcs.checked = true;
- }
- else
- {
- propClPort.value = PROP_CLPORT_CLOSE_NOICS;
- chkIcs.checked = false;
- }
- }
- else
- {
- chkClPort.checked = false;
- propClPort.value = PROP_CLPORT_OPEN;
- chkIcs.disabled = true;
- chkIcs.checked = false;
- window.external.RuleAccess("icmp") = AR_ALLOW;
- }
- }
-
- function OnClPortALChange()
- {
- var propClPortAL;
- try
- {
- propClPortAL = propListFW.Get("ClosedPortAccessAL");
- }
- catch (e)
- {
- alert("Could not get ClosedPortAccessAL option");
- return TXT_ERROR;
- }
- var chkClpal = document.all['CHK_CLPORTAL'];
- propClPortAL.value = chkClpal.checked;
- }
-
- function OnNetbiosChange(i)
- {
- setRadio(i, document.all['RAD_NETBIOS'], 2);
- switch (i)
- {
- case 0:
- window.external.SetRuleAccess("netbios", AR_ALLOW, AL_IGNORE);
- break;
- case 1:
- window.external.RuleAccess("netbios", AR_PREVENT, AL_IGNORE);
- break;
- }
- }
-
- function OnAccessResultChange(strRuleType, checkbox)
- {
- var iNewAccess = checkbox.checked;
- window.external.SetRuleAccess(strRuleType,
- iNewAccess ? (strRuleType == "vba" ? AR_PREVENT : AR_ASKUSER) : AR_ALLOW,
- iNewAccess ? AL_MONITOR : AL_IGNORE);
- }
-
- function OnUnkAppStartChange()
- {
- var propUnkAppStart = null;
- try
- {
- propUnkAppStart = propListSBX.Get("UnkAppStartDlg");
- }
- catch (e)
- {
- alert("Could not get UnkAppStartDlg option");
- return TXT_ERROR;
- }
-
- var chkUnkAppStart = document.all['CHK_UNKAPPSTART'];
- if (propUnkAppStart != null)
- {
- propUnkAppStart.value = chkUnkAppStart.checked ? 1 : 0;
- }
- }
-
-